spanning tree in data structure